<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  osg::Vec2</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  <A HREF="#DOC.DOCU">osg::Vec2</A></H2></H2><BLOCKQUOTE>General purpose float pair, uses include representation of texture coordinates.</BLOCKQUOTE>
<HR>

<DL>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.134.3">_v</A></B>[2]
</DL></P>

<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.134.1">Vec2</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.134.2">Vec2</A></B>(float <!1><A HREF="Vec2.html#DOC.2.134.12">x</A>, float <!1><A HREF="Vec2.html#DOC.2.134.13">y</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.134.4">operator == </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; v) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.134.5">operator != </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; v) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.134.6">operator <  </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; v) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   float* <B><A HREF="#DOC.2.134.7">ptr</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float* <B><A HREF="#DOC.2.134.8">ptr</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.134.9">set</A></B>( float <!1><A HREF="Vec2.html#DOC.2.134.12">x</A>, float <!1><A HREF="Vec2.html#DOC.2.134.13">y</A> )
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   float&amp; <B><A HREF="#DOC.2.134.10">operator [] </A></B>(int i)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.11">operator [] </A></B>(int i) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   float&amp; <B><A HREF="#DOC.2.134.12">x</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   float&amp; <B><A HREF="#DOC.2.134.13">y</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.14">x</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.15">y</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.134.16">valid</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.134.17">isNaN</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.18">operator * </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs) const 
<DD><I>dot product</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Vec2.html">Vec2</A> <B><A HREF="#DOC.2.134.19">operator * </A></B>(const float&amp; rhs) const 
<DD><I>multiply by scalar</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; <B><A HREF="#DOC.2.134.20">operator *= </A></B>(const float&amp; rhs)
<DD><I>unary multiply by scalar</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Vec2.html">Vec2</A> <B><A HREF="#DOC.2.134.21">operator / </A></B>(const float&amp; rhs) const 
<DD><I>divide by scalar</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; <B><A HREF="#DOC.2.134.22">operator /= </A></B>(const float&amp; rhs)
<DD><I>unary divide by scalar</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Vec2.html">Vec2</A> <B><A HREF="#DOC.2.134.23">operator + </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs) const 
<DD><I>binary vector add</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; <B><A HREF="#DOC.2.134.24">operator += </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs)
<DD><I>unary vector add.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Vec2.html">Vec2</A> <B><A HREF="#DOC.2.134.25">operator - </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs) const 
<DD><I>binary vector subtract</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; <B><A HREF="#DOC.2.134.26">operator -= </A></B>(const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs)
<DD><I>unary vector subtract</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Vec2.html">Vec2</A> <B><A HREF="#DOC.2.134.27">operator - </A></B>() const 
<DD><I>negation operator.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.28">length</A></B>() const 
<DD><I>Length of the vector = sqrt( vec .</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.29">length2</A></B>( void ) const 
<DD><I>Length squared of the vector = vec .</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const float <B><A HREF="#DOC.2.134.30">normalize</A></B>()
<DD><I>normalize the vector so that it has length unity returns the previous length of the vector</I>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>General purpose float pair, uses include representation of
texture coordinates.
No support yet added for float * Vec2 - is it necessary?
Need to define a non-member non-friend operator*  etc.
BTW:	     Vec2 * float is okay</BLOCKQUOTE>
<DL>

<A NAME="Vec2"></A>
<A NAME="DOC.2.134.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Vec2()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Vec2"></A>
<A NAME="DOC.2.134.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Vec2(float <!1><A HREF="Vec2.html#DOC.2.134.12">x</A>, float <!1><A HREF="Vec2.html#DOC.2.134.13">y</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_v"></A>
<A NAME="DOC.2.134.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _v[2]</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
<A NAME="DOC.2.134.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool operator == (const <!1><A HREF="Vec2.html">Vec2</A>&amp; v) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
<A NAME="DOC.2.134.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool operator != (const <!1><A HREF="Vec2.html">Vec2</A>&amp; v) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator <  "></A>
<A NAME="DOC.2.134.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool operator <  (const <!1><A HREF="Vec2.html">Vec2</A>&amp; v) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="ptr"></A>
<A NAME="DOC.2.134.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float* ptr()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ptr"></A>
<A NAME="DOC.2.134.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float* ptr() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.134.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void set( float <!1><A HREF="Vec2.html#DOC.2.134.12">x</A>, float <!1><A HREF="Vec2.html#DOC.2.134.13">y</A> )</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator [] "></A>
<A NAME="DOC.2.134.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; operator [] (int i)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator [] "></A>
<A NAME="DOC.2.134.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float operator [] (int i) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="x"></A>
<A NAME="DOC.2.134.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; x()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="y"></A>
<A NAME="DOC.2.134.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; y()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="x"></A>
<A NAME="DOC.2.134.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float x() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="y"></A>
<A NAME="DOC.2.134.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float y() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="valid"></A>
<A NAME="DOC.2.134.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool valid() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="isNaN"></A>
<A NAME="DOC.2.134.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool isNaN() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator * "></A>
<A NAME="DOC.2.134.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float operator * (const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs) const </B></TT>
<DD>dot product
<DL><DT><DD></DL><P>
<A NAME="operator * "></A>
<A NAME="DOC.2.134.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Vec2.html">Vec2</A> operator * (const float&amp; rhs) const </B></TT>
<DD>multiply by scalar
<DL><DT><DD></DL><P>
<A NAME="operator *= "></A>
<A NAME="DOC.2.134.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; operator *= (const float&amp; rhs)</B></TT>
<DD>unary multiply by scalar
<DL><DT><DD></DL><P>
<A NAME="operator / "></A>
<A NAME="DOC.2.134.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Vec2.html">Vec2</A> operator / (const float&amp; rhs) const </B></TT>
<DD>divide by scalar
<DL><DT><DD></DL><P>
<A NAME="operator /= "></A>
<A NAME="DOC.2.134.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; operator /= (const float&amp; rhs)</B></TT>
<DD>unary divide by scalar
<DL><DT><DD></DL><P>
<A NAME="operator + "></A>
<A NAME="DOC.2.134.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Vec2.html">Vec2</A> operator + (const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs) const </B></TT>
<DD>binary vector add
<DL><DT><DD></DL><P>
<A NAME="operator += "></A>
<A NAME="DOC.2.134.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; operator += (const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs)</B></TT>
<DD>unary vector add.  Slightly more efficient because no temporary
intermediate object.
<DL><DT><DD></DL><P>
<A NAME="operator - "></A>
<A NAME="DOC.2.134.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Vec2.html">Vec2</A> operator - (const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs) const </B></TT>
<DD>binary vector subtract
<DL><DT><DD></DL><P>
<A NAME="operator -= "></A>
<A NAME="DOC.2.134.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html">Vec2</A>&amp; operator -= (const <!1><A HREF="Vec2.html">Vec2</A>&amp; rhs)</B></TT>
<DD>unary vector subtract
<DL><DT><DD></DL><P>
<A NAME="operator - "></A>
<A NAME="DOC.2.134.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Vec2.html">Vec2</A> operator - () const </B></TT>
<DD>negation operator.  Returns the negative of the Vec2
<DL><DT><DD></DL><P>
<A NAME="length"></A>
<A NAME="DOC.2.134.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float length() const </B></TT>
<DD>Length of the vector = sqrt( vec . vec )
<DL><DT><DD></DL><P>
<A NAME="length2"></A>
<A NAME="DOC.2.134.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float length2( void ) const </B></TT>
<DD>Length squared of the vector = vec . vec
<DL><DT><DD></DL><P>
<A NAME="normalize"></A>
<A NAME="DOC.2.134.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float normalize()</B></TT>
<DD>normalize the vector so that it has length unity
returns the previous length of the vector
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DT><B>Friends:</B><DD>  inline std::ostream& operator << (std::ostream& output, const <!1><A HREF="Vec2.html">Vec2</A>& vec)<BR><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
